package com.xqboss.apps.domain.order;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.xqboss.apps.domain.BaseTable;
import com.xqboss.apps.enums.order.RefundStatusEnum;
import com.xqboss.apps.vo.order.WebOrderDetailVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *     订单售后表
 * </p>
 * @author Trent
 * @date 2023/9/7
 */
@Data
public class OrderRefund extends BaseTable {

    @TableId(type = IdType.INPUT)
    private Long id;

    @ApiModelProperty("订单号")
    private Long orderMainId;

    @ApiModelProperty("退款金额")
    private BigDecimal applyAmount;

    @ApiModelProperty("退款方式")
    private String payType;

    @ApiModelProperty("退款账号")
    private String payAccount;

    @ApiModelProperty("实际退款金额")
    private BigDecimal refundAmount;

    @ApiModelProperty("申请退款原因")
    private String applyReason;

    @ApiModelProperty("处理备注")
    private String handlerRemarks;

    @ApiModelProperty("退款状态")
    private RefundStatusEnum refundStatus;

    @ApiModelProperty("申请人ID")
    private Long applyUserId;

    @ApiModelProperty("申请人姓名")
    private String applyUserName;

    @ApiModelProperty("处理人ID")
    private Long handlerUserId;

    @ApiModelProperty("处理人姓名")
    private String handlerUserName;

    @ApiModelProperty("处理时间")
    private LocalDateTime handlerTime;

    @ApiModelProperty("订单信息")
    @TableField(exist = false)
    private WebOrderDetailVo orderInfo;
}
